package com.csu54sher.basereservation.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.io.Serializable;
import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 * 基地表,加复数是因为bean与库bean重复
 * </p>
 *
 * @author csu54sher
 * @since 2025-10-19
 */
@Getter
@Setter
@TableName("bases")
public class Bases extends Model<Bases> {

    private static final long serialVersionUID = 1L;

    /**
     * 基地ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 基地名
     */
    @TableField("name")
    private String name;

    /**
     * 校区名
     */
    @TableField("campus")
    private String campus;

    /**
     * 基地容量
     */
    @TableField("capacity")
    private Integer capacity;

    /**
     * 基地介绍，不超过250字
     */
    @TableField("introduction")
    private String introduction;

    /**
     * 设备描述，不超过50字
     */
    @TableField("equipment")
    private String equipment;

    /**
     * 逻辑删除字段，用来判断是否被删除。
     */
    @TableField("is_deleted")
    private Boolean isDeleted;

    /**
     * 地址,不超过250字
     */
    @TableField("address")
    private String address;

    /**
     * 用于描述参观的预设流程,不超过250字
     */
    @TableField("process")
    private String process;

    /**
     * 是否暂时关闭基地
     */
    @TableField("is_closed")
    private Boolean isClosed;

    public static final String ID = "id";

    public static final String NAME = "name";

    public static final String CAMPUS = "campus";

    public static final String CAPACITY = "capacity";

    public static final String INTRODUCTION = "introduction";

    public static final String EQUIPMENT = "equipment";

    public static final String IS_DELETED = "is_deleted";

    public static final String ADDRESS = "address";

    public static final String PROCESS = "process";

    public static final String IS_CLOSED = "is_closed";

    @Override
    public Serializable pkVal() {
        return this.id;
    }
}
